package interfaceusuario;


import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;


import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import propertieslinguagem.SingletonSetaLinguagemEArmazenaResourceBundle;

public class TelaCriarNovoTesteOuCarregarJaExistente 
{
	private JFrame janelaPrincipalTestable;

	
	public TelaCriarNovoTesteOuCarregarJaExistente()
	{
		SingletonSetaLinguagemEArmazenaResourceBundle conheceLinguagemDoSistema = 
				SingletonSetaLinguagemEArmazenaResourceBundle.getInstance();
		String tituloJanela = conheceLinguagemDoSistema.getString("janelaCriarOuCarregarTelaCriarNovoTesteOuCarregarJaExistente");
		
		this.janelaPrincipalTestable = new JFrameComMenu(tituloJanela);
		this.janelaPrincipalTestable.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		this.janelaPrincipalTestable.setSize(d);
		//this.janelaPrincipalTestable.setAlwaysOnTop(true);
		
		//vamos guardar a janela para que ela possa ser usada por outras telas...
		SingletonGuardaJanelaTestable.getInstance().guardarJanelaPrincipalTestable(janelaPrincipalTestable);
		
		JPanel painelDesenhado = desenharTelaCriarNovoTesteOuCarregarJaExistente();
		tornarJanelaVisivelPelaPrimeiraVez(painelDesenhado);
	}
	
	//outro construtor para o caso de estarmos reusand o jframe
	public TelaCriarNovoTesteOuCarregarJaExistente(JFrame janelaPrincipalTestable)
	{
		SingletonSetaLinguagemEArmazenaResourceBundle conheceLinguagemDoSistema = 
				SingletonSetaLinguagemEArmazenaResourceBundle.getInstance();
		String tituloJanela = conheceLinguagemDoSistema.getString("janelaCriarOuCarregarTelaCriarNovoTesteOuCarregarJaExistente");
		
		this.janelaPrincipalTestable = janelaPrincipalTestable;
		this.janelaPrincipalTestable.setTitle(tituloJanela);
		
		JPanel painelDesenhado = desenharTelaCriarNovoTesteOuCarregarJaExistente();
		
		janelaPrincipalTestable.setContentPane(painelDesenhado);
		janelaPrincipalTestable.getContentPane().revalidate();
		janelaPrincipalTestable.getContentPane().setVisible(true);
	}
	
	//chamado apenas para desenhar o JPanel que serah inserido no jframe, mas nao insere no jframe ainda, eh soh para cria-lo
	public JPanel desenharTelaCriarNovoTesteOuCarregarJaExistente()
	{
		CriaPainelDeFundoComBackground criadorPainelPadrao = CriaPainelDeFundoComBackground.getInstance();
		JPanel painelCriarOuCarregar = criadorPainelPadrao.criarPainelDeFundoPadraoDoSistema();
		GridBagLayout layout = new GridBagLayout();
		painelCriarOuCarregar.setLayout(layout);
		GridBagConstraints grid = new GridBagConstraints();
		
		SingletonSetaLinguagemEArmazenaResourceBundle conheceLinguagemDoSistema = 
				SingletonSetaLinguagemEArmazenaResourceBundle.getInstance();
		String textoLabelBemVindo = conheceLinguagemDoSistema.getString("labelBemVindoTelaCriarNovoTesteOuCarregarJaExistente");
		
		ImageIcon imagemLogo = CriadorImageIcon.criarImageIcon("imagens/logotestable.png", "logo testable");
		JLabel labelImagemLogo = new JLabel(imagemLogo);
		JPanel painelLogo = criadorPainelPadrao.criarPainelDeFundoPadraoDoSistema();
		painelLogo.add(labelImagemLogo);
		
		grid.gridwidth = 4;
		grid.gridheight = 4;
		grid.gridx = 0;
		grid.gridy = 0;
		painelCriarOuCarregar.add(painelLogo, grid);
		
		JLabel labelBemVindo = CriadorTextLabel.criarTextlabel(textoLabelBemVindo, 20);
		JPanel painelBemVindo = criadorPainelPadrao.criarPainelDeFundoPadraoDoSistema();
		painelBemVindo.add(labelBemVindo);
		grid.gridwidth = 4;
		grid.gridheight = 1;
		grid.gridx = 0;
		grid.gridy = 4;
		painelCriarOuCarregar.add(painelBemVindo,grid);
		
		return painelCriarOuCarregar;
		
		
	}

	private void tornarJanelaVisivelPelaPrimeiraVez(JPanel painelCriarOuCarregar) {
		this.janelaPrincipalTestable.setContentPane(painelCriarOuCarregar);
		this.janelaPrincipalTestable.setVisible(true);
	}
	
	
	
	

}